If the object exists, it will be updated and all existing values not altered by
\code{attrs} will be preserved.  If the object does not exist, a new object will
be created, with its attributes initialized to their default values.
